# -*- encoding: utf-8 -*-

require 'rumoji/emoji'
require 'set'

module Rumoji
  class Emoji
    PLACES = SortedSet[
      self.new("\u{1f6a1}", [:aerial_tramway]),
      self.new("\u{2708}" , [:airplane]),
      self.new("\u{1f691}", [:ambulance]),
      self.new("\u{2693}" , [:anchor]),
      self.new("\u{1f69b}", [:articulated_lorry]),
      self.new("\u{1f3e7}", [:atm]),
      self.new("\u{1f3e6}", [:bank]),
      self.new("\u{1f488}", [:barber]),
      self.new("\u{1f530}", [:beginner]),
      self.new("\u{1f6b2}", [:bike]),
      self.new("\u{1f699}", [:blue_car]),
      self.new("\u{26f5}" , [:boat, :sailboat]),
      self.new("\u{1f309}", [:bridge_at_night]),
      self.new("\u{1f685}", [:bullettrain_front]),
      self.new("\u{1f684}", [:bullettrain_side]),
      self.new("\u{1f68c}", [:bus]),
      self.new("\u{1f68f}", [:busstop]),
      self.new("\u{1f697}", [:car, :red_car]),
      self.new("\u{1f3a0}", [:carousel_horse]),
      self.new("\u{1f3c1}", [:checkered_flag]),
      self.new("\u{26ea}" , [:church]),
      self.new("\u{1f3aa}", [:circus_tent]),
      self.new("\u{1f307}", [:city_sunrise]),
      self.new("\u{1f306}", [:city_sunset]),
      self.new("\u{1f6a7}", [:construction]),
      self.new("\u{1f3ea}", [:convenience_store]),
      self.new("\u{1f38c}", [:crossed_flags]),
      self.new("\u{1f3ec}", [:department_store]),
      self.new("\u{1f3f0}", [:european_castle]),
      self.new("\u{1f3e4}", [:european_post_office]),
      self.new("\u{1f3ed}", [:factory]),
      self.new("\u{1f3a1}", [:ferris_wheel]),
      self.new("\u{1f692}", [:fire_engine]),
      self.new("\u{26f2}" , [:fountain]),
      self.new("\u{26fd}" , [:fuelpump]),
      self.new("\u{1f681}", [:helicopter]),
      self.new("\u{1f3e5}", [:hospital]),
      self.new("\u{1f3e8}", [:hotel]),
      self.new("\u{2668}" , [:hotsprings]),
      self.new("\u{1f3e0}", [:house]),
      self.new("\u{1f3e1}", [:house_with_garden]),
      self.new("\u{1f5fe}", [:japan]),
      self.new("\u{1f3ef}", [:japanese_castle]),
      self.new("\u{1f688}", [:light_rail]),
      self.new("\u{1f3e9}", [:love_hotel]),
      self.new("\u{1f690}", [:minibus]),
      self.new("\u{1f69d}", [:monorail]),
      self.new("\u{1f5fb}", [:mount_fuji]),
      self.new("\u{1f6a0}", [:mountain_cableway]),
      self.new("\u{1f69e}", [:mountain_railway]),
      self.new("\u{1f5ff}", [:moyai]),
      self.new("\u{1f3e2}", [:office]),
      self.new("\u{1f698}", [:oncoming_automobile]),
      self.new("\u{1f68d}", [:oncoming_bus]),
      self.new("\u{1f694}", [:oncoming_police_car]),
      self.new("\u{1f696}", [:oncoming_taxi]),
      self.new("\u{1f3ad}", [:performing_arts]),
      self.new("\u{1f693}", [:police_car]),
      self.new("\u{1f3e3}", [:post_office]),
      self.new("\u{1f683}", [:railway_car, :train]),
      self.new("\u{1f308}", [:rainbow]),
      self.new("\u{1f680}", [:rocket]),
      self.new("\u{1f3a2}", [:roller_coaster]),
      self.new("\u{1f6a8}", [:rotating_light]),
      self.new("\u{1f4cd}", [:round_pushpin]),
      self.new("\u{1f6a3}", [:rowboat]),
      self.new("\u{1f3eb}", [:school]),
      self.new("\u{1f6a2}", [:ship]),
      self.new("\u{1f3b0}", [:slot_machine]),
      self.new("\u{1f6a4}", [:speedboat]),
      self.new("\u{1f303}", [:stars, :night_with_stars]),
      self.new("\u{1f689}", [:station]),
      self.new("\u{1f5fd}", [:statue_of_liberty]),
      self.new("\u{1f682}", [:steam_locomotive]),
      self.new("\u{1f305}", [:sunrise]),
      self.new("\u{1f304}", [:sunrise_over_mountains]),
      self.new("\u{1f69f}", [:suspension_railway]),
      self.new("\u{1f695}", [:taxi]),
      self.new("\u{26fa}" , [:tent]),
      self.new("\u{1f3ab}", [:ticket]),
      self.new("\u{1f5fc}", [:tokyo_tower]),
      self.new("\u{1f69c}", [:tractor]),
      self.new("\u{1f6a5}", [:traffic_light]),
      self.new("\u{1f686}", [:train2]),
      self.new("\u{1f68a}", [:tram]),
      self.new("\u{1f6a9}", [:triangular_flag_on_post]),
      self.new("\u{1f68e}", [:trolleybus]),
      self.new("\u{1f69a}", [:truck]),
      self.new("\u{1f6a6}", [:vertical_traffic_light]),
      self.new("\u{26a0}" , [:warning]),
      self.new("\u{1f492}", [:wedding]),
      self.new("\u{1f54b}", [:kaaba]),
      self.new("\u{1f54c}", [:mosque]),
      self.new("\u{1f54d}", [:synagogue]),
      self.new("\u{1f3ce}", [:racing_car]),
      self.new("\u{1f3cd}", [:racing_motorcycle]),
      self.new("\u{1f3cf}", [:cricket_bat_ball, :cricket_bat_and_ball]),
      self.new("\u{1f3d0}", [:volleyball]),
      self.new("\u{1f3d1}", [:field_hockey_stick, :field_hockey_stick_and_ball]),
      self.new("\u{1f3d2}", [:ice_hockey_stick, :ice_hockey_stick_and_puck]),
      self.new("\u{1f3d3}", [:table_tennis_paddle, :table_tennis_paddle_and_ball]),
      self.new("\u{1f3f8}", [:badminton_racquet, :badminton_racquet_and_shuttlecock]),
      self.new("\u{1f3f7}", [:label]),
      self.new("\u{1f39f}", [:admission_tickets]),
      self.new("\u{1f39e}", [:film_frames]),
      self.new("\u{1f397}", [:reminder_ribbon]),
      self.new("\u{1f6f0}", [:satellite]),
      self.new("\u{1f6ec}", [:airplane_landing, :airplane_arriving]),
      self.new("\u{1f6eb}", [:airplane_departing, :airplane_departure]),
      self.new("\u{1f6e9}", [:small_airplane]),
      self.new("\u{1f6e5}", [:motor_boat]),
      self.new("\u{1f6f3}", [:passenger_ship]),
      self.new("\u{1f6e4}", [:railway_track]),
      self.new("\u{1f6e3}", [:motorway]),
      self.new("\u{1f5bc}", [:frame_with_picture]),
      self.new("\u{1f3da}", [:derelict_house_building]),
      self.new("\u{1f3d9}", [:cityscape]),
      self.new("\u{1f3d8}", [:house_buildings]),
      self.new("\u{1f3d7}", [:building_construction]),
      self.new("\u{1f3db}", [:classical_building]),
      self.new("\u{1f3df}", [:stadium]),
      self.new("\u{1f3de}", [:national_park]),
      self.new("\u{1f3dd}", [:desert_island]),
      self.new("\u{1f3dc}", [:desert]),
      self.new("\u{1f3d6}", [:beach_umbrella, :beach_with_umbrella]),
      self.new("\u{1f3d5}", [:camping]),
      self.new("\u{1f3d4}", [:snow_capped_mountain, :mountain]),
      self.new("\u{1f5fa}", [:world_map]),
      self.new("\u{26E9}", [:shinto_shrine], "SHINTO SHRINE"),
      self.new("\u{26F4}", [:ferry], "FERRY"),

      # Regional Indicator Symbols
      self.new("\u{1f1e6 1f1e8}", [:"flag-ac"], "REGIONAL INDICATOR SYMBOL LETTERS AC"),
      self.new("\u{1f1e6 1f1e9}", [:"flag-ad"], "REGIONAL INDICATOR SYMBOL LETTERS AD"),
      self.new("\u{1f1e6 1f1ea}", [:"flag-ae"], "REGIONAL INDICATOR SYMBOL LETTERS AE"),
      self.new("\u{1f1e6 1f1eb}", [:"flag-af"], "REGIONAL INDICATOR SYMBOL LETTERS AF"),
      self.new("\u{1f1e6 1f1ec}", [:"flag-ag"], "REGIONAL INDICATOR SYMBOL LETTERS AG"),
      self.new("\u{1f1e6 1f1ee}", [:"flag-ai"], "REGIONAL INDICATOR SYMBOL LETTERS AI"),
      self.new("\u{1f1e6 1f1f1}", [:"flag-al"], "REGIONAL INDICATOR SYMBOL LETTERS AL"),
      self.new("\u{1f1e6 1f1f2}", [:"flag-am"], "REGIONAL INDICATOR SYMBOL LETTERS AM"),
      self.new("\u{1f1e6 1f1f4}", [:"flag-ao"], "REGIONAL INDICATOR SYMBOL LETTERS AO"),
      self.new("\u{1f1e6 1f1f6}", [:"flag-aq"], "REGIONAL INDICATOR SYMBOL LETTERS AQ"),
      self.new("\u{1f1e6 1f1f7}", [:"flag-ar"], "REGIONAL INDICATOR SYMBOL LETTERS AR"),
      self.new("\u{1f1e6 1f1f8}", [:"flag-as"], "REGIONAL INDICATOR SYMBOL LETTERS AS"),
      self.new("\u{1f1e6 1f1f9}", [:"flag-at"], "REGIONAL INDICATOR SYMBOL LETTERS AT"),
      self.new("\u{1f1e6 1f1fa}", [:"flag-au"], "REGIONAL INDICATOR SYMBOL LETTERS AU"),
      self.new("\u{1f1e6 1f1fc}", [:"flag-aw"], "REGIONAL INDICATOR SYMBOL LETTERS AW"),
      self.new("\u{1f1e6 1f1fd}", [:"flag-ax"], "REGIONAL INDICATOR SYMBOL LETTERS AX"),
      self.new("\u{1f1e6 1f1ff}", [:"flag-az"], "REGIONAL INDICATOR SYMBOL LETTERS AZ"),
      self.new("\u{1f1e7 1f1e6}", [:"flag-ba"], "REGIONAL INDICATOR SYMBOL LETTERS BA"),
      self.new("\u{1f1e7 1f1e7}", [:"flag-bb"], "REGIONAL INDICATOR SYMBOL LETTERS BB"),
      self.new("\u{1f1e7 1f1e9}", [:"flag-bd"], "REGIONAL INDICATOR SYMBOL LETTERS BD"),
      self.new("\u{1f1e7 1f1ea}", [:"flag-be"], "REGIONAL INDICATOR SYMBOL LETTERS BE"),
      self.new("\u{1f1e7 1f1eb}", [:"flag-bf"], "REGIONAL INDICATOR SYMBOL LETTERS BF"),
      self.new("\u{1f1e7 1f1ec}", [:"flag-bg"], "REGIONAL INDICATOR SYMBOL LETTERS BG"),
      self.new("\u{1f1e7 1f1ed}", [:"flag-bh"], "REGIONAL INDICATOR SYMBOL LETTERS BH"),
      self.new("\u{1f1e7 1f1ee}", [:"flag-bi"], "REGIONAL INDICATOR SYMBOL LETTERS BI"),
      self.new("\u{1f1e7 1f1ef}", [:"flag-bj"], "REGIONAL INDICATOR SYMBOL LETTERS BJ"),
      self.new("\u{1f1e7 1f1f1}", [:"flag-bl"], "REGIONAL INDICATOR SYMBOL LETTERS BL"),
      self.new("\u{1f1e7 1f1f2}", [:"flag-bm"], "REGIONAL INDICATOR SYMBOL LETTERS BM"),
      self.new("\u{1f1e7 1f1f3}", [:"flag-bn"], "REGIONAL INDICATOR SYMBOL LETTERS BN"),
      self.new("\u{1f1e7 1f1f4}", [:"flag-bo"], "REGIONAL INDICATOR SYMBOL LETTERS BO"),
      self.new("\u{1f1e7 1f1f6}", [:"flag-bq"], "REGIONAL INDICATOR SYMBOL LETTERS BQ"),
      self.new("\u{1f1e7 1f1f7}", [:"flag-br"], "REGIONAL INDICATOR SYMBOL LETTERS BR"),
      self.new("\u{1f1e7 1f1f8}", [:"flag-bs"], "REGIONAL INDICATOR SYMBOL LETTERS BS"),
      self.new("\u{1f1e7 1f1f9}", [:"flag-bt"], "REGIONAL INDICATOR SYMBOL LETTERS BT"),
      self.new("\u{1f1e7 1f1fb}", [:"flag-bv"], "REGIONAL INDICATOR SYMBOL LETTERS BV"),
      self.new("\u{1f1e7 1f1fc}", [:"flag-bw"], "REGIONAL INDICATOR SYMBOL LETTERS BW"),
      self.new("\u{1f1e7 1f1fe}", [:"flag-by"], "REGIONAL INDICATOR SYMBOL LETTERS BY"),
      self.new("\u{1f1e7 1f1ff}", [:"flag-bz"], "REGIONAL INDICATOR SYMBOL LETTERS BZ"),
      self.new("\u{1f1e8 1f1e6}", [:"flag-ca"], "REGIONAL INDICATOR SYMBOL LETTERS CA"),
      self.new("\u{1f1e8 1f1e8}", [:"flag-cc"], "REGIONAL INDICATOR SYMBOL LETTERS CC"),
      self.new("\u{1f1e8 1f1e9}", [:"flag-cd"], "REGIONAL INDICATOR SYMBOL LETTERS CD"),
      self.new("\u{1f1e8 1f1eb}", [:"flag-cf"], "REGIONAL INDICATOR SYMBOL LETTERS CF"),
      self.new("\u{1f1e8 1f1ec}", [:"flag-cg"], "REGIONAL INDICATOR SYMBOL LETTERS CG"),
      self.new("\u{1f1e8 1f1ed}", [:"flag-ch"], "REGIONAL INDICATOR SYMBOL LETTERS CH"),
      self.new("\u{1f1e8 1f1ee}", [:"flag-ci"], "REGIONAL INDICATOR SYMBOL LETTERS CI"),
      self.new("\u{1f1e8 1f1f0}", [:"flag-ck"], "REGIONAL INDICATOR SYMBOL LETTERS CK"),
      self.new("\u{1f1e8 1f1f1}", [:"flag-cl"], "REGIONAL INDICATOR SYMBOL LETTERS CL"),
      self.new("\u{1f1e8 1f1f2}", [:"flag-cm"], "REGIONAL INDICATOR SYMBOL LETTERS CM"),
      self.new("\u{1f1e8 1f1f3}", [:"flag-cn", :cn], "REGIONAL INDICATOR SYMBOL LETTERS CN"),
      self.new("\u{1f1e8 1f1f4}", [:"flag-co"], "REGIONAL INDICATOR SYMBOL LETTERS CO"),
      self.new("\u{1f1e8 1f1f5}", [:"flag-cp"], "REGIONAL INDICATOR SYMBOL LETTERS CP"),
      self.new("\u{1f1e8 1f1f7}", [:"flag-cr"], "REGIONAL INDICATOR SYMBOL LETTERS CR"),
      self.new("\u{1f1e8 1f1fa}", [:"flag-cu"], "REGIONAL INDICATOR SYMBOL LETTERS CU"),
      self.new("\u{1f1e8 1f1fb}", [:"flag-cv"], "REGIONAL INDICATOR SYMBOL LETTERS CV"),
      self.new("\u{1f1e8 1f1fc}", [:"flag-cw"], "REGIONAL INDICATOR SYMBOL LETTERS CW"),
      self.new("\u{1f1e8 1f1fd}", [:"flag-cx"], "REGIONAL INDICATOR SYMBOL LETTERS CX"),
      self.new("\u{1f1e8 1f1fe}", [:"flag-cy"], "REGIONAL INDICATOR SYMBOL LETTERS CY"),
      self.new("\u{1f1e8 1f1ff}", [:"flag-cz"], "REGIONAL INDICATOR SYMBOL LETTERS CZ"),
      self.new("\u{1f1e9 1f1ea}", [:"flag-de", :de], "REGIONAL INDICATOR SYMBOL LETTERS DE"),
      self.new("\u{1f1e9 1f1ec}", [:"flag-dg"], "REGIONAL INDICATOR SYMBOL LETTERS DG"),
      self.new("\u{1f1e9 1f1ef}", [:"flag-dj"], "REGIONAL INDICATOR SYMBOL LETTERS DJ"),
      self.new("\u{1f1e9 1f1f0}", [:"flag-dk"], "REGIONAL INDICATOR SYMBOL LETTERS DK"),
      self.new("\u{1f1e9 1f1f2}", [:"flag-dm"], "REGIONAL INDICATOR SYMBOL LETTERS DM"),
      self.new("\u{1f1e9 1f1f4}", [:"flag-do"], "REGIONAL INDICATOR SYMBOL LETTERS DO"),
      self.new("\u{1f1e9 1f1ff}", [:"flag-dz"], "REGIONAL INDICATOR SYMBOL LETTERS DZ"),
      self.new("\u{1f1ea 1f1e6}", [:"flag-ea"], "REGIONAL INDICATOR SYMBOL LETTERS EA"),
      self.new("\u{1f1ea 1f1e8}", [:"flag-ec"], "REGIONAL INDICATOR SYMBOL LETTERS EC"),
      self.new("\u{1f1ea 1f1ea}", [:"flag-ee"], "REGIONAL INDICATOR SYMBOL LETTERS EE"),
      self.new("\u{1f1ea 1f1ec}", [:"flag-eg"], "REGIONAL INDICATOR SYMBOL LETTERS EG"),
      self.new("\u{1f1ea 1f1ed}", [:"flag-eh"], "REGIONAL INDICATOR SYMBOL LETTERS EH"),
      self.new("\u{1f1ea 1f1f7}", [:"flag-er"], "REGIONAL INDICATOR SYMBOL LETTERS ER"),
      self.new("\u{1f1ea 1f1f8}", [:"flag-es", :es], "REGIONAL INDICATOR SYMBOL LETTERS ES"),
      self.new("\u{1f1ea 1f1f9}", [:"flag-et"], "REGIONAL INDICATOR SYMBOL LETTERS ET"),
      self.new("\u{1f1ea 1f1fa}", [:"flag-eu"], "REGIONAL INDICATOR SYMBOL LETTERS EU"),
      self.new("\u{1f1eb 1f1ee}", [:"flag-fi"], "REGIONAL INDICATOR SYMBOL LETTERS FI"),
      self.new("\u{1f1eb 1f1ef}", [:"flag-fj"], "REGIONAL INDICATOR SYMBOL LETTERS FJ"),
      self.new("\u{1f1eb 1f1f0}", [:"flag-fk"], "REGIONAL INDICATOR SYMBOL LETTERS FK"),
      self.new("\u{1f1eb 1f1f2}", [:"flag-fm"], "REGIONAL INDICATOR SYMBOL LETTERS FM"),
      self.new("\u{1f1eb 1f1f4}", [:"flag-fo"], "REGIONAL INDICATOR SYMBOL LETTERS FO"),
      self.new("\u{1f1eb 1f1f7}", [:"flag-fr", :fr], "REGIONAL INDICATOR SYMBOL LETTERS FR"),
      self.new("\u{1f1ec 1f1e6}", [:"flag-ga"], "REGIONAL INDICATOR SYMBOL LETTERS GA"),
      self.new("\u{1f1ec 1f1e7}", [:"flag-gb", :gb, :uk], "REGIONAL INDICATOR SYMBOL LETTERS GB"),
      self.new("\u{1f1ec 1f1e9}", [:"flag-gd"], "REGIONAL INDICATOR SYMBOL LETTERS GD"),
      self.new("\u{1f1ec 1f1ea}", [:"flag-ge"], "REGIONAL INDICATOR SYMBOL LETTERS GE"),
      self.new("\u{1f1ec 1f1eb}", [:"flag-gf"], "REGIONAL INDICATOR SYMBOL LETTERS GF"),
      self.new("\u{1f1ec 1f1ec}", [:"flag-gg"], "REGIONAL INDICATOR SYMBOL LETTERS GG"),
      self.new("\u{1f1ec 1f1ed}", [:"flag-gh"], "REGIONAL INDICATOR SYMBOL LETTERS GH"),
      self.new("\u{1f1ec 1f1ee}", [:"flag-gi"], "REGIONAL INDICATOR SYMBOL LETTERS GI"),
      self.new("\u{1f1ec 1f1f1}", [:"flag-gl"], "REGIONAL INDICATOR SYMBOL LETTERS GL"),
      self.new("\u{1f1ec 1f1f2}", [:"flag-gm"], "REGIONAL INDICATOR SYMBOL LETTERS GM"),
      self.new("\u{1f1ec 1f1f3}", [:"flag-gn"], "REGIONAL INDICATOR SYMBOL LETTERS GN"),
      self.new("\u{1f1ec 1f1f5}", [:"flag-gp"], "REGIONAL INDICATOR SYMBOL LETTERS GP"),
      self.new("\u{1f1ec 1f1f6}", [:"flag-gq"], "REGIONAL INDICATOR SYMBOL LETTERS GQ"),
      self.new("\u{1f1ec 1f1f7}", [:"flag-gr"], "REGIONAL INDICATOR SYMBOL LETTERS GR"),
      self.new("\u{1f1ec 1f1f8}", [:"flag-gs"], "REGIONAL INDICATOR SYMBOL LETTERS GS"),
      self.new("\u{1f1ec 1f1f9}", [:"flag-gt"], "REGIONAL INDICATOR SYMBOL LETTERS GT"),
      self.new("\u{1f1ec 1f1fa}", [:"flag-gu"], "REGIONAL INDICATOR SYMBOL LETTERS GU"),
      self.new("\u{1f1ec 1f1fc}", [:"flag-gw"], "REGIONAL INDICATOR SYMBOL LETTERS GW"),
      self.new("\u{1f1ec 1f1fe}", [:"flag-gy"], "REGIONAL INDICATOR SYMBOL LETTERS GY"),
      self.new("\u{1f1ed 1f1f0}", [:"flag-hk"], "REGIONAL INDICATOR SYMBOL LETTERS HK"),
      self.new("\u{1f1ed 1f1f2}", [:"flag-hm"], "REGIONAL INDICATOR SYMBOL LETTERS HM"),
      self.new("\u{1f1ed 1f1f3}", [:"flag-hn"], "REGIONAL INDICATOR SYMBOL LETTERS HN"),
      self.new("\u{1f1ed 1f1f7}", [:"flag-hr"], "REGIONAL INDICATOR SYMBOL LETTERS HR"),
      self.new("\u{1f1ed 1f1f9}", [:"flag-ht"], "REGIONAL INDICATOR SYMBOL LETTERS HT"),
      self.new("\u{1f1ed 1f1fa}", [:"flag-hu"], "REGIONAL INDICATOR SYMBOL LETTERS HU"),
      self.new("\u{1f1ee 1f1e8}", [:"flag-ic"], "REGIONAL INDICATOR SYMBOL LETTERS IC"),
      self.new("\u{1f1ee 1f1e9}", [:"flag-id"], "REGIONAL INDICATOR SYMBOL LETTERS ID"),
      self.new("\u{1f1ee 1f1ea}", [:"flag-ie"], "REGIONAL INDICATOR SYMBOL LETTERS IE"),
      self.new("\u{1f1ee 1f1f1}", [:"flag-il"], "REGIONAL INDICATOR SYMBOL LETTERS IL"),
      self.new("\u{1f1ee 1f1f2}", [:"flag-im"], "REGIONAL INDICATOR SYMBOL LETTERS IM"),
      self.new("\u{1f1ee 1f1f3}", [:"flag-in"], "REGIONAL INDICATOR SYMBOL LETTERS IN"),
      self.new("\u{1f1ee 1f1f4}", [:"flag-io"], "REGIONAL INDICATOR SYMBOL LETTERS IO"),
      self.new("\u{1f1ee 1f1f6}", [:"flag-iq"], "REGIONAL INDICATOR SYMBOL LETTERS IQ"),
      self.new("\u{1f1ee 1f1f7}", [:"flag-ir"], "REGIONAL INDICATOR SYMBOL LETTERS IR"),
      self.new("\u{1f1ee 1f1f8}", [:"flag-is"], "REGIONAL INDICATOR SYMBOL LETTERS IS"),
      self.new("\u{1f1ee 1f1f9}", [:"flag-it", :it], "REGIONAL INDICATOR SYMBOL LETTERS IT"),
      self.new("\u{1f1ef 1f1ea}", [:"flag-je"], "REGIONAL INDICATOR SYMBOL LETTERS JE"),
      self.new("\u{1f1ef 1f1f2}", [:"flag-jm"], "REGIONAL INDICATOR SYMBOL LETTERS JM"),
      self.new("\u{1f1ef 1f1f4}", [:"flag-jo"], "REGIONAL INDICATOR SYMBOL LETTERS JO"),
      self.new("\u{1f1ef 1f1f5}", [:"flag-jp", :jp], "REGIONAL INDICATOR SYMBOL LETTERS JP"),
      self.new("\u{1f1f0 1f1ea}", [:"flag-ke"], "REGIONAL INDICATOR SYMBOL LETTERS KE"),
      self.new("\u{1f1f0 1f1ec}", [:"flag-kg"], "REGIONAL INDICATOR SYMBOL LETTERS KG"),
      self.new("\u{1f1f0 1f1ed}", [:"flag-kh"], "REGIONAL INDICATOR SYMBOL LETTERS KH"),
      self.new("\u{1f1f0 1f1ee}", [:"flag-ki"], "REGIONAL INDICATOR SYMBOL LETTERS KI"),
      self.new("\u{1f1f0 1f1f2}", [:"flag-km"], "REGIONAL INDICATOR SYMBOL LETTERS KM"),
      self.new("\u{1f1f0 1f1f3}", [:"flag-kn"], "REGIONAL INDICATOR SYMBOL LETTERS KN"),
      self.new("\u{1f1f0 1f1f5}", [:"flag-kp"], "REGIONAL INDICATOR SYMBOL LETTERS KP"),
      self.new("\u{1f1f0 1f1f7}", [:"flag-kr", :kr], "REGIONAL INDICATOR SYMBOL LETTERS KR"),
      self.new("\u{1f1f0 1f1fc}", [:"flag-kw"], "REGIONAL INDICATOR SYMBOL LETTERS KW"),
      self.new("\u{1f1f0 1f1fe}", [:"flag-ky"], "REGIONAL INDICATOR SYMBOL LETTERS KY"),
      self.new("\u{1f1f0 1f1ff}", [:"flag-kz"], "REGIONAL INDICATOR SYMBOL LETTERS KZ"),
      self.new("\u{1f1f1 1f1e6}", [:"flag-la"], "REGIONAL INDICATOR SYMBOL LETTERS LA"),
      self.new("\u{1f1f1 1f1e7}", [:"flag-lb"], "REGIONAL INDICATOR SYMBOL LETTERS LB"),
      self.new("\u{1f1f1 1f1e8}", [:"flag-lc"], "REGIONAL INDICATOR SYMBOL LETTERS LC"),
      self.new("\u{1f1f1 1f1ee}", [:"flag-li"], "REGIONAL INDICATOR SYMBOL LETTERS LI"),
      self.new("\u{1f1f1 1f1f0}", [:"flag-lk"], "REGIONAL INDICATOR SYMBOL LETTERS LK"),
      self.new("\u{1f1f1 1f1f7}", [:"flag-lr"], "REGIONAL INDICATOR SYMBOL LETTERS LR"),
      self.new("\u{1f1f1 1f1f8}", [:"flag-ls"], "REGIONAL INDICATOR SYMBOL LETTERS LS"),
      self.new("\u{1f1f1 1f1f9}", [:"flag-lt"], "REGIONAL INDICATOR SYMBOL LETTERS LT"),
      self.new("\u{1f1f1 1f1fa}", [:"flag-lu"], "REGIONAL INDICATOR SYMBOL LETTERS LU"),
      self.new("\u{1f1f1 1f1fb}", [:"flag-lv"], "REGIONAL INDICATOR SYMBOL LETTERS LV"),
      self.new("\u{1f1f1 1f1fe}", [:"flag-ly"], "REGIONAL INDICATOR SYMBOL LETTERS LY"),
      self.new("\u{1f1f2 1f1e6}", [:"flag-ma"], "REGIONAL INDICATOR SYMBOL LETTERS MA"),
      self.new("\u{1f1f2 1f1e8}", [:"flag-mc"], "REGIONAL INDICATOR SYMBOL LETTERS MC"),
      self.new("\u{1f1f2 1f1e9}", [:"flag-md"], "REGIONAL INDICATOR SYMBOL LETTERS MD"),
      self.new("\u{1f1f2 1f1ea}", [:"flag-me"], "REGIONAL INDICATOR SYMBOL LETTERS ME"),
      self.new("\u{1f1f2 1f1eb}", [:"flag-mf"], "REGIONAL INDICATOR SYMBOL LETTERS MF"),
      self.new("\u{1f1f2 1f1ec}", [:"flag-mg"], "REGIONAL INDICATOR SYMBOL LETTERS MG"),
      self.new("\u{1f1f2 1f1ed}", [:"flag-mh"], "REGIONAL INDICATOR SYMBOL LETTERS MH"),
      self.new("\u{1f1f2 1f1f0}", [:"flag-mk"], "REGIONAL INDICATOR SYMBOL LETTERS MK"),
      self.new("\u{1f1f2 1f1f1}", [:"flag-ml"], "REGIONAL INDICATOR SYMBOL LETTERS ML"),
      self.new("\u{1f1f2 1f1f2}", [:"flag-mm"], "REGIONAL INDICATOR SYMBOL LETTERS MM"),
      self.new("\u{1f1f2 1f1f3}", [:"flag-mn"], "REGIONAL INDICATOR SYMBOL LETTERS MN"),
      self.new("\u{1f1f2 1f1f4}", [:"flag-mo"], "REGIONAL INDICATOR SYMBOL LETTERS MO"),
      self.new("\u{1f1f2 1f1f5}", [:"flag-mp"], "REGIONAL INDICATOR SYMBOL LETTERS MP"),
      self.new("\u{1f1f2 1f1f6}", [:"flag-mq"], "REGIONAL INDICATOR SYMBOL LETTERS MQ"),
      self.new("\u{1f1f2 1f1f7}", [:"flag-mr"], "REGIONAL INDICATOR SYMBOL LETTERS MR"),
      self.new("\u{1f1f2 1f1f8}", [:"flag-ms"], "REGIONAL INDICATOR SYMBOL LETTERS MS"),
      self.new("\u{1f1f2 1f1f9}", [:"flag-mt"], "REGIONAL INDICATOR SYMBOL LETTERS MT"),
      self.new("\u{1f1f2 1f1fa}", [:"flag-mu"], "REGIONAL INDICATOR SYMBOL LETTERS MU"),
      self.new("\u{1f1f2 1f1fb}", [:"flag-mv"], "REGIONAL INDICATOR SYMBOL LETTERS MV"),
      self.new("\u{1f1f2 1f1fc}", [:"flag-mw"], "REGIONAL INDICATOR SYMBOL LETTERS MW"),
      self.new("\u{1f1f2 1f1fd}", [:"flag-mx"], "REGIONAL INDICATOR SYMBOL LETTERS MX"),
      self.new("\u{1f1f2 1f1fe}", [:"flag-my"], "REGIONAL INDICATOR SYMBOL LETTERS MY"),
      self.new("\u{1f1f2 1f1ff}", [:"flag-mz"], "REGIONAL INDICATOR SYMBOL LETTERS MZ"),
      self.new("\u{1f1f3 1f1e6}", [:"flag-na"], "REGIONAL INDICATOR SYMBOL LETTERS NA"),
      self.new("\u{1f1f3 1f1e8}", [:"flag-nc"], "REGIONAL INDICATOR SYMBOL LETTERS NC"),
      self.new("\u{1f1f3 1f1ea}", [:"flag-ne"], "REGIONAL INDICATOR SYMBOL LETTERS NE"),
      self.new("\u{1f1f3 1f1eb}", [:"flag-nf"], "REGIONAL INDICATOR SYMBOL LETTERS NF"),
      self.new("\u{1f1f3 1f1ec}", [:"flag-ng"], "REGIONAL INDICATOR SYMBOL LETTERS NG"),
      self.new("\u{1f1f3 1f1ee}", [:"flag-ni"], "REGIONAL INDICATOR SYMBOL LETTERS NI"),
      self.new("\u{1f1f3 1f1f1}", [:"flag-nl"], "REGIONAL INDICATOR SYMBOL LETTERS NL"),
      self.new("\u{1f1f3 1f1f4}", [:"flag-no"], "REGIONAL INDICATOR SYMBOL LETTERS NO"),
      self.new("\u{1f1f3 1f1f5}", [:"flag-np"], "REGIONAL INDICATOR SYMBOL LETTERS NP"),
      self.new("\u{1f1f3 1f1f7}", [:"flag-nr"], "REGIONAL INDICATOR SYMBOL LETTERS NR"),
      self.new("\u{1f1f3 1f1fa}", [:"flag-nu"], "REGIONAL INDICATOR SYMBOL LETTERS NU"),
      self.new("\u{1f1f3 1f1ff}", [:"flag-nz"], "REGIONAL INDICATOR SYMBOL LETTERS NZ"),
      self.new("\u{1f1f4 1f1f2}", [:"flag-om"], "REGIONAL INDICATOR SYMBOL LETTERS OM"),
      self.new("\u{1f1f5 1f1e6}", [:"flag-pa"], "REGIONAL INDICATOR SYMBOL LETTERS PA"),
      self.new("\u{1f1f5 1f1ea}", [:"flag-pe"], "REGIONAL INDICATOR SYMBOL LETTERS PE"),
      self.new("\u{1f1f5 1f1eb}", [:"flag-pf"], "REGIONAL INDICATOR SYMBOL LETTERS PF"),
      self.new("\u{1f1f5 1f1ec}", [:"flag-pg"], "REGIONAL INDICATOR SYMBOL LETTERS PG"),
      self.new("\u{1f1f5 1f1ed}", [:"flag-ph"], "REGIONAL INDICATOR SYMBOL LETTERS PH"),
      self.new("\u{1f1f5 1f1f0}", [:"flag-pk"], "REGIONAL INDICATOR SYMBOL LETTERS PK"),
      self.new("\u{1f1f5 1f1f1}", [:"flag-pl"], "REGIONAL INDICATOR SYMBOL LETTERS PL"),
      self.new("\u{1f1f5 1f1f2}", [:"flag-pm"], "REGIONAL INDICATOR SYMBOL LETTERS PM"),
      self.new("\u{1f1f5 1f1f3}", [:"flag-pn"], "REGIONAL INDICATOR SYMBOL LETTERS PN"),
      self.new("\u{1f1f5 1f1f7}", [:"flag-pr"], "REGIONAL INDICATOR SYMBOL LETTERS PR"),
      self.new("\u{1f1f5 1f1f8}", [:"flag-ps"], "REGIONAL INDICATOR SYMBOL LETTERS PS"),
      self.new("\u{1f1f5 1f1f9}", [:"flag-pt"], "REGIONAL INDICATOR SYMBOL LETTERS PT"),
      self.new("\u{1f1f5 1f1fc}", [:"flag-pw"], "REGIONAL INDICATOR SYMBOL LETTERS PW"),
      self.new("\u{1f1f5 1f1fe}", [:"flag-py"], "REGIONAL INDICATOR SYMBOL LETTERS PY"),
      self.new("\u{1f1f6 1f1e6}", [:"flag-qa"], "REGIONAL INDICATOR SYMBOL LETTERS QA"),
      self.new("\u{1f1f7 1f1ea}", [:"flag-re"], "REGIONAL INDICATOR SYMBOL LETTERS RE"),
      self.new("\u{1f1f7 1f1f4}", [:"flag-ro"], "REGIONAL INDICATOR SYMBOL LETTERS RO"),
      self.new("\u{1f1f7 1f1f8}", [:"flag-rs"], "REGIONAL INDICATOR SYMBOL LETTERS RS"),
      self.new("\u{1f1f7 1f1fa}", [:"flag-ru", :ru], "REGIONAL INDICATOR SYMBOL LETTERS RU"),
      self.new("\u{1f1f7 1f1fc}", [:"flag-rw"], "REGIONAL INDICATOR SYMBOL LETTERS RW"),
      self.new("\u{1f1f8 1f1e6}", [:"flag-sa"], "REGIONAL INDICATOR SYMBOL LETTERS SA"),
      self.new("\u{1f1f8 1f1e7}", [:"flag-sb"], "REGIONAL INDICATOR SYMBOL LETTERS SB"),
      self.new("\u{1f1f8 1f1e8}", [:"flag-sc"], "REGIONAL INDICATOR SYMBOL LETTERS SC"),
      self.new("\u{1f1f8 1f1e9}", [:"flag-sd"], "REGIONAL INDICATOR SYMBOL LETTERS SD"),
      self.new("\u{1f1f8 1f1ea}", [:"flag-se"], "REGIONAL INDICATOR SYMBOL LETTERS SE"),
      self.new("\u{1f1f8 1f1ec}", [:"flag-sg"], "REGIONAL INDICATOR SYMBOL LETTERS SG"),
      self.new("\u{1f1f8 1f1ed}", [:"flag-sh"], "REGIONAL INDICATOR SYMBOL LETTERS SH"),
      self.new("\u{1f1f8 1f1ee}", [:"flag-si"], "REGIONAL INDICATOR SYMBOL LETTERS SI"),
      self.new("\u{1f1f8 1f1ef}", [:"flag-sj"], "REGIONAL INDICATOR SYMBOL LETTERS SJ"),
      self.new("\u{1f1f8 1f1f0}", [:"flag-sk"], "REGIONAL INDICATOR SYMBOL LETTERS SK"),
      self.new("\u{1f1f8 1f1f1}", [:"flag-sl"], "REGIONAL INDICATOR SYMBOL LETTERS SL"),
      self.new("\u{1f1f8 1f1f2}", [:"flag-sm"], "REGIONAL INDICATOR SYMBOL LETTERS SM"),
      self.new("\u{1f1f8 1f1f3}", [:"flag-sn"], "REGIONAL INDICATOR SYMBOL LETTERS SN"),
      self.new("\u{1f1f8 1f1f4}", [:"flag-so"], "REGIONAL INDICATOR SYMBOL LETTERS SO"),
      self.new("\u{1f1f8 1f1f7}", [:"flag-sr"], "REGIONAL INDICATOR SYMBOL LETTERS SR"),
      self.new("\u{1f1f8 1f1f8}", [:"flag-ss"], "REGIONAL INDICATOR SYMBOL LETTERS SS"),
      self.new("\u{1f1f8 1f1f9}", [:"flag-st"], "REGIONAL INDICATOR SYMBOL LETTERS ST"),
      self.new("\u{1f1f8 1f1fb}", [:"flag-sv"], "REGIONAL INDICATOR SYMBOL LETTERS SV"),
      self.new("\u{1f1f8 1f1fd}", [:"flag-sx"], "REGIONAL INDICATOR SYMBOL LETTERS SX"),
      self.new("\u{1f1f8 1f1fe}", [:"flag-sy"], "REGIONAL INDICATOR SYMBOL LETTERS SY"),
      self.new("\u{1f1f8 1f1ff}", [:"flag-sz"], "REGIONAL INDICATOR SYMBOL LETTERS SZ"),
      self.new("\u{1f1f9 1f1e6}", [:"flag-ta"], "REGIONAL INDICATOR SYMBOL LETTERS TA"),
      self.new("\u{1f1f9 1f1e8}", [:"flag-tc"], "REGIONAL INDICATOR SYMBOL LETTERS TC"),
      self.new("\u{1f1f9 1f1e9}", [:"flag-td"], "REGIONAL INDICATOR SYMBOL LETTERS TD"),
      self.new("\u{1f1f9 1f1eb}", [:"flag-tf"], "REGIONAL INDICATOR SYMBOL LETTERS TF"),
      self.new("\u{1f1f9 1f1ec}", [:"flag-tg"], "REGIONAL INDICATOR SYMBOL LETTERS TG"),
      self.new("\u{1f1f9 1f1ed}", [:"flag-th"], "REGIONAL INDICATOR SYMBOL LETTERS TH"),
      self.new("\u{1f1f9 1f1ef}", [:"flag-tj"], "REGIONAL INDICATOR SYMBOL LETTERS TJ"),
      self.new("\u{1f1f9 1f1f0}", [:"flag-tk"], "REGIONAL INDICATOR SYMBOL LETTERS TK"),
      self.new("\u{1f1f9 1f1f1}", [:"flag-tl"], "REGIONAL INDICATOR SYMBOL LETTERS TL"),
      self.new("\u{1f1f9 1f1f2}", [:"flag-tm"], "REGIONAL INDICATOR SYMBOL LETTERS TM"),
      self.new("\u{1f1f9 1f1f3}", [:"flag-tn"], "REGIONAL INDICATOR SYMBOL LETTERS TN"),
      self.new("\u{1f1f9 1f1f4}", [:"flag-to"], "REGIONAL INDICATOR SYMBOL LETTERS TO"),
      self.new("\u{1f1f9 1f1f7}", [:"flag-tr"], "REGIONAL INDICATOR SYMBOL LETTERS TR"),
      self.new("\u{1f1f9 1f1f9}", [:"flag-tt"], "REGIONAL INDICATOR SYMBOL LETTERS TT"),
      self.new("\u{1f1f9 1f1fb}", [:"flag-tv"], "REGIONAL INDICATOR SYMBOL LETTERS TV"),
      self.new("\u{1f1f9 1f1fc}", [:"flag-tw"], "REGIONAL INDICATOR SYMBOL LETTERS TW"),
      self.new("\u{1f1f9 1f1ff}", [:"flag-tz"], "REGIONAL INDICATOR SYMBOL LETTERS TZ"),
      self.new("\u{1f1fa 1f1e6}", [:"flag-ua"], "REGIONAL INDICATOR SYMBOL LETTERS UA"),
      self.new("\u{1f1fa 1f1ec}", [:"flag-ug"], "REGIONAL INDICATOR SYMBOL LETTERS UG"),
      self.new("\u{1f1fa 1f1f2}", [:"flag-um"], "REGIONAL INDICATOR SYMBOL LETTERS UM"),
      self.new("\u{1f1fa 1f1f8}", [:"flag-us", :us], "REGIONAL INDICATOR SYMBOL LETTERS US"),
      self.new("\u{1f1fa 1f1fe}", [:"flag-uy"], "REGIONAL INDICATOR SYMBOL LETTERS UY"),
      self.new("\u{1f1fa 1f1ff}", [:"flag-uz"], "REGIONAL INDICATOR SYMBOL LETTERS UZ"),
      self.new("\u{1f1fb 1f1e6}", [:"flag-va"], "REGIONAL INDICATOR SYMBOL LETTERS VA"),
      self.new("\u{1f1fb 1f1e8}", [:"flag-vc"], "REGIONAL INDICATOR SYMBOL LETTERS VC"),
      self.new("\u{1f1fb 1f1ea}", [:"flag-ve"], "REGIONAL INDICATOR SYMBOL LETTERS VE"),
      self.new("\u{1f1fb 1f1ec}", [:"flag-vg"], "REGIONAL INDICATOR SYMBOL LETTERS VG"),
      self.new("\u{1f1fb 1f1ee}", [:"flag-vi"], "REGIONAL INDICATOR SYMBOL LETTERS VI"),
      self.new("\u{1f1fb 1f1f3}", [:"flag-vn"], "REGIONAL INDICATOR SYMBOL LETTERS VN"),
      self.new("\u{1f1fb 1f1fa}", [:"flag-vu"], "REGIONAL INDICATOR SYMBOL LETTERS VU"),
      self.new("\u{1f1fc 1f1eb}", [:"flag-wf"], "REGIONAL INDICATOR SYMBOL LETTERS WF"),
      self.new("\u{1f1fc 1f1f8}", [:"flag-ws"], "REGIONAL INDICATOR SYMBOL LETTERS WS"),
      self.new("\u{1f1fd 1f1f0}", [:"flag-xk"], "REGIONAL INDICATOR SYMBOL LETTERS XK"),
      self.new("\u{1f1fe 1f1ea}", [:"flag-ye"], "REGIONAL INDICATOR SYMBOL LETTERS YE"),
      self.new("\u{1f1fe 1f1f9}", [:"flag-yt"], "REGIONAL INDICATOR SYMBOL LETTERS YT"),
      self.new("\u{1f1ff 1f1e6}", [:"flag-za"], "REGIONAL INDICATOR SYMBOL LETTERS ZA"),
      self.new("\u{1f1ff 1f1f2}", [:"flag-zm"], "REGIONAL INDICATOR SYMBOL LETTERS ZM"),
      self.new("\u{1f1ff 1f1fc}", [:"flag-zw"], "REGIONAL INDICATOR SYMBOL LETTERS ZW")
    ]
  end
end
